﻿using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Web;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;

namespace Acaweb.Servicios.Contracts
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IPaisesService" in both code and config file together.
    [ServiceContract]
    public interface IReportesService
    {
        [WebInvoke(Method = "POST", UriTemplate = "Create", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        void Create(Reportes Reporte);

        [WebInvoke(Method = "POST", UriTemplate = "Update", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        void Update(Reportes Reporte);

        [WebInvoke(Method = "POST", UriTemplate = "GetByPracticante", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Reportes> GetByPracticante(int IdPracticante);

        [WebInvoke(Method = "POST", UriTemplate = "GetByEstado", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        List<Reportes> GetByEstado(EstadoReporte Estado);

        [WebInvoke(Method = "POST", UriTemplate = "GetById", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        [OperationContract]
        Reportes GetById(int IdReporte);
    }
}
